home *** CD-ROM | disk | FTP | other *** search
/ Internet Surfer 2.0 / Internet Surfer 2.0 (Wayzata Technology) (1996).iso / pc / text / mac / faqs.281 < prev    next >
Text File  |  1996-02-12  |  28KB  |  657 lines

  1. Frequently Asked Questions (FAQS);faqs.281
  2.  
  3.  
  4.  
  5. 2. TeX Utilities
  6.  
  7.   There are many TeX font utilities.  For TeX related questions, I direct
  8.   you to comp.text.tex or the Info-TeX mailing list.  I will happily list
  9.   any utilities here that the comp.fonts public feels should be present.
  10.   I am listing MetaFont because it is the obvious font-specific component
  11.   of TeX and PKtoSFP because it allows anyone to use PS2PK to create
  12.   LaserJet softfonts.
  13.  
  14.   Liam R. E. Quin <lee@sq.com> is the original author of the MetaFont
  15.   section.  It has been hacked at a bit by norm to make it fit the tone
  16.   of the comp.fonts FAQ.  Assume that norm is responsible for any errors,
  17.   not Liam.
  18.  
  19. 2.1. MetaFont
  20.  
  21. 2.1.1. About MetaFont:
  22.  
  23.        Metafont is a programming language for describing fonts.  It was
  24.        written by Donald Knuth and is documented in
  25.  
  26.      Computers & Typesetting/C: The METAFONTbook
  27.      Knuth, Donald E.
  28.      Addison Wesley, 1986
  29.      ISBN 0-201-13445-4, or 0-201-13444-6 (soft cover)
  30.      Library access: Z250.8.M46K58, or 686.2'24, or 85-28675.
  31.  
  32.        A font written in MetaFont is actually a computer program which,
  33.        when run, will generate a bitmap (`raster') for a given typeface
  34.        at a given size, for some particular device.
  35.  
  36. 2.1.2. What do you need in order to use the fonts:
  37.  
  38.        You cannot print the MetaFont fonts directly (unless you want a
  39.        listing of the program, that is).  Instead, you must generate a
  40.        bitmap font and use that to print something.
  41.  
  42.        If you are using TeX, the sequence of steps is something like
  43.        this:
  44.  
  45.          MF -> metafont -> GF              [ convert MetaFont program
  46.                            TFM              into a bitmapped font ]
  47.  
  48.          GF -> gftopk -> PK             [ represent the bitmapped font
  49.                                           efficiently ]
  50.  
  51.          TEX -> tex -> DVI              [ convert TeX document into
  52.          TFM                              device independent output ]
  53.  
  54.          DVI -> dvi2xxx -> XXX          [ convert DVI to output device
  55.          PK                               format ]
  56.  
  57.          XXX -> printer -> hardcopy     [ print the dvi2xxx output ]
  58.  
  59.        The above steps are idealized.  In reality, you have to make sure
  60.        that the fonts get installed in the correct places and you may
  61.        have to adjust description files, etc.  The friendly folks on
  62.        comp.text.tex can probably get it staightened out for you if you
  63.        can't find a local guru.
  64.  
  65.        If you are not using TeX, it's almost impossible to predict.  At
  66.        some point in the above sequence, you'll insert some other
  67.        conversion program and proceed differently.  Here, for example, is
  68.        how you might use TeX fonts with WordPerfect and a LaserJet
  69.        printer.
  70.  
  71.          PK -> PKtoSFP -> SFP           [ PK to LaserJet softfont ]
  72.  
  73.      SFP -> SFP2Auto -> TFM         [ Make HP AutoFont TFM file ]
  74.  
  75.       SFP -> PTR -> installation     [ Install the fonts into WP ]
  76.      TFM
  77.  
  78.      Use WordPerfect as you normally would.
  79.  
  80. 2.1.3. How to use Metafont fonts with Troff
  81.  
  82.        If, when you run troff, you get the message `typesetter busy', you
  83.        have the original Ossanna-troff, also called otroff.  Chris Lewis
  84.        has a package which will let you use TeX fonts with troff -- it's
  85.        called psroff, and comes with documentation.
  86.  
  87.          ftp: gatekeeper.dec.com (16.1.0.2) pub/misc/psroff-3.0
  88.          ftp: ftp.cs.toronto.edu [128.100.1.105] pub/psroff-3.0/*
  89.  
  90.        If, when you run troff, you get something like this:
  91.  
  92.      x T 300
  93.      x res 300 1 1
  94.  
  95.        you have ditroff.  This is sometimes called titroff or psroff.  In
  96.        this case, you will probably need to do the following:
  97.  
  98.          1) convert the font to your printer's format
  99.          2) generate a width table for the font
  100.          3) add the font to the DESC file for the appropriate device
  101.          4) arrange for troff to download the font
  102.          5) tell troff about the font by running `makedev DESC' in the
  103.         right place.
  104.  
  105.        If, when you run troff, you get something like this:
  106.  
  107.          X hp(SCM)(CM)(AF)(AD) 300 1 1
  108.      Y P default letter 2550 3300 0 0 90 90 2460 3210
  109.  
  110.        you have sqtroff:
  111.  
  112.          1) convert the font to your printer's format
  113.          2) generate a width table for the font
  114.          3) add the font to the DESC file for the appropriate device
  115.          4) put the font in the appropriate raster directory
  116.          5) tell sqtroff about the font by running `sqmakedev DESC' or
  117.             `sqinstall'.
  118.  
  119.        In each case, you should be able to get help from your vendor.
  120.  
  121.        Note that Chris Lewis' psroff package has software to make width
  122.        tables for troff from pk files.
  123.  
  124. 2.1.4. Converting between font formats
  125.  
  126.        Conversions to and from pbm and pk format were posted to
  127.        comp.text.tex and to alt.sources on the 9th of August, 1990 by
  128.        Angus Duggan (ajcd@cs.ed.ac.uk).  The program is pbmtopk, and
  129.        there are also at least two patches.
  130.  
  131.        Chris Lewis' psroff package includes a program to go from pk both
  132.        to the HP LaserJet and to PostScript.
  133.  
  134.        John McClain (ophelp@tamvenus.bitnet) has some conversion programs
  135.        for various graphics formats to/and from pk files.
  136.  
  137.        A PC program, CAPTURE, turns HPGL files into PK format, US$130
  138.        from Micro Programs Inc., 251 Jackson Ave., Syosset, NY 11791
  139.        U.S.A.
  140.  
  141.        Metaplot can take pen-plotter files and prouce metafont files;
  142.        contact wilcox@cis.ohio-state.edu
  143.  
  144.        Kinch Cmputer Company sell .pk fonts derived from PostScript
  145.        fonts.  Kinch Computer Co., 501 S. Meadow St.Ithaca, NY 14850
  146.        U.S.A.  telephone: +1 607 273 0222; fax: +1 607 273 0484
  147.  
  148. 2.1.5. Where to get bitmap versions of the fonts
  149.  
  150.        There are archives containing the bitmaps of many of these fonts
  151.        at various sizes and resolutions.  The fonts must have been
  152.        generated for the correct print engine: e.g. write-white or
  153.        write-black.  The archives generally hold only the sizes used by
  154.        TeX.  These are `magstep' sizes, and are not exact point sizes.
  155.        It is probably better to generate them from the Metafont sources
  156.        yourself if you can.
  157.  
  158.        The best place to look for raster fonts was almost certainly
  159.  
  160.          mims-iris.waterloo.edu
  161.  
  162.        but it isn't any more, the fonts have all gone.  Let me know if
  163.        you find them elsewhere.  Most people seem to have moved to using
  164.        PostScript fonts or Bitstream ones instead now.
  165.  
  166.        Some other sites are:
  167.  
  168.          ctrsci.math.utah.edu (128.110.198.1)
  169.          science.utah.edu (128.110.192.2)
  170.          ymir.claremont.edu (134.173.4.23)
  171.  
  172.        The occasional posting of ftp sites to comp.misc and comp.archives
  173.        lists these and several other sites.
  174.  
  175. 2.1.6. Getting fonts by FTP and Mail
  176.  
  177.        If you are using ftp, you will need either the name of the host or
  178.        the Internet number.  For example, to connect to ymir, listed as
  179.        ftp: ymir.claremont.edu [134.173.4.23] you will need to type
  180.        something like
  181.  
  182.          ftp ymir.claremont.edu
  183.  
  184.        If that doesn't work, try using the number:
  185.  
  186.      ftp 134.173.4.23
  187.  
  188.        If that doesn't work, on Unix systems you can use nslookup (it's
  189.        usually /usr/etc/nslookup) to find the host number -- it might
  190.        have changed.  Type the entire host name, and after a few seconds
  191.        nslookup will give you the address.
  192.  
  193.        Once you have connected, you will need to go to the appropriate
  194.        directory, lists its contents, and retrieve the files.
  195.  
  196.        Most of the machines listed here run Unix, and you use "ls" and
  197.        "cd" to list files and to change directories.  Ymir runs VMS, and
  198.        you will have to put square brackets around directory names, like
  199.        [this].
  200.  
  201.        Remember that although Metafont sources are text files, pk fonts
  202.        are not ASCII, and you will have to use binary mode for them.  In
  203.        general, use text mode for README files and *.mf files, and binary
  204.        mode for other font files.  Files ending in .Z are compressed
  205.        binary files -- you will need to use binary mode, and then
  206.        uncompress the files when you get them.
  207.  
  208.  
  209.        You can get files from ymir by sending mail messages to
  210.  
  211.          mailserv@ymir.claremont.edu
  212.  
  213.        For example,
  214.  
  215.          send [tex.mf.misc]cmapl10.mf
  216.  
  217.        will get the file cmapl10.mf from the directory "tex.mf.misc".
  218.        You can't get binary files in this way.
  219.  
  220.        There is an ftp-by-mail BITNET service, BITFTP, for BITNET users.
  221.  
  222.        Before getting large files by mail, please remember to get
  223.        permission from all intervening sites.  Ask your site
  224.        administrator, who can send mail to Postmaster at each site on the
  225.        way if necessary.
  226.  
  227. 2.2. PKtoSFP/SFPtoPK
  228.  
  229.        Convert fonts from TeX PK format to HP LaserJet (bitmap) format.
  230.  
  231. 2.3. Metafont -> PostScript conversion
  232.  
  233.        There are (I believe) two programs that perform this task.  At
  234.        least one of them is called "mf2ps".  If you have any more
  235.        information about these tools, please let me know.
  236.  
  237. 2.4. PostScript -> Metafont
  238.  
  239.        There is at least one tool for this purpose.  I believe that it
  240.        is called "ps2mf".  If you have any more information about
  241.        these tools, please let me know.
  242.  
  243. 2.5. PKtoPS
  244.  
  245.        Included in the psroff distribution, this utility converts PK
  246.        fonts into PostScript fonts (bitmaps, I presume).  If you have
  247.        any more information about these tools, please let me know.
  248.  
  249. 2.6. PKtoBDF / MFtoBDF
  250.  
  251.        From the SeeTeX distribution, programs to help previewers under
  252.        X11.
  253.  
  254. 3. MFpic
  255.  
  256.   MFpic is a macro package for including pictures in TeX documents.  The idea
  257.   behind this package is to have Metafont do the actual drawing, and store the
  258.   pictures in a font that TeX can include in the document.  The macros have
  259.   been designed so that the user should never have to learn Metafont to use
  260.   these macros -- the TeX macros actually write the Metafont file for you.
  261.  
  262. 4. GNU Font Utilities
  263.  
  264.   Here is a brief description of the programs included:
  265.  
  266.   * imageto extracts a bitmap font from an image in PBM or IMG format, or
  267.     converts the image to Encapsulated PostScript.
  268.  
  269.   * xbfe is a hand-editor for bitmap fonts which runs under X11.
  270.  
  271.   * charspace adds side bearings to a bitmap font.
  272.  
  273.   * limn fits outlines to bitmap characters.
  274.  
  275.   * bzrto converts a generic outline font to Metafont or PostScript.
  276.  
  277.   * gsrenderfont renders a PostScript outline font at a particular point
  278.     size and resolution, yielding a bitmap font.
  279.  
  280.   * fontconvert can rearrange or delete characters in a bitmap font,
  281.     filter them, split them into pieces, combine them, etc., etc.
  282.  
  283.   * imgrotate rotates or flips an IMG file.
  284.  
  285.   We need volunteers to help create fonts for the GNU project.  You do not
  286.   need to be an expert type designer to help, but you do need to know enough
  287.   about TeX and/or PostScript to be able to install and test new fonts.
  288.   Example: if you know neither (1) the purpose of TeX utility program `gftopk'
  289.   nor (2) what the PostScript `scalefont' command does, you probably need more
  290.   experience before you can help.
  291.  
  292.   If you can volunteer, the first step is to compile the font utilities.
  293.   After that, contact me (karl@gnu.ai.mit.edu).  I will get you a scanned type
  294.   specimen image.  The manual explains how to use these utilities to turn that
  295.   into a font you can use in TeX or PostScript.
  296.  
  297.   You can get the source by ftp from
  298.     prep.ai.mit.edu [18.71.0.38]:pub/gnu/fontutils-0.5.tar.Z.
  299.  
  300.   And also from these other sites around the world; please check them
  301.   before prep.
  302.  
  303.   United States: wuarchive.wustl.edu   gatekeeper.dec.com:pub/GNU
  304.                  uxc.cso.uiuc.edu      ftp.uu.net:packages/gnu
  305.  
  306.   Europe:        archive.eu.net        src.doc.ic.ac.uk:gnu    ftp.funet.fi
  307.                  nic.funet.fi:pub/gnu  ugle.unit.no            isy.liu.se
  308.                  ftp.diku.dk
  309.  
  310.   elsewhere:     ftp.cs.titech.ac.jp   utsun.s.u-tokyo.ac.jp:ftpsync/prep
  311.                  archie.au:gnu
  312.  
  313.   You can also order tapes with GNU software from the Free Software Foundation
  314.   (thereby supporting the GNU project); send mail to gnu@prep.ai.mit.edu for
  315.   the latest prices and ordering information, or retrieve the file DISTRIB
  316.   from a GNU archive.
  317.  
  318. 5. Font editors
  319.  
  320.   - BDF -
  321.  
  322.     There is a bdf font editor that comes with HP/Apollo workstations.  It's
  323.     called 'edfont'.  It's not the best but it works.
  324.  
  325.     Gary <Gocek.Henr801C@Xerox.COM> reports:
  326.  
  327.     The standard X distribution for X11R5 contains "xfed", which allows you
  328.     to play with BDF fonts.  "xfedor" has a more elaborate user interface,
  329.     and is available on most contrib directories.
  330.  
  331.     The last time I tried:
  332.  
  333.     "xfedor" couldn't handle BDF files with more than 256 characters.
  334.  
  335.     "xfed" aborts if the BDF file contains a COMMENT line with no other
  336.     text.  The workaround is to edit the BDF file, to put text after the
  337.     word COMMENT.  A single blank space is sufficient.  For some reason,
  338.     the standard BDF files included in the X release contain blank spaces
  339.     on the otherwise empty COMMENT lines.  It was probably easier to add
  340.     the space to the COMMENT lines of every BDF file than it was to fix the
  341.     lex code for xfed.  :-)
  342.  
  343.   - PK -
  344.  
  345.     The GNU font utilities include an X-based editor called Xbfe which edits
  346.     bitmapped fonts under X.
  347.  
  348.     Eberhard Mattes' emTeX includes PKedit.
  349.  
  350. 6. t1utils
  351.  
  352.   This is a snippet from the README file for I. Lee Hetherington's
  353.   <ilh@lcs.mit.edu> t1utils package:
  354.  
  355.   t1utils is a collection of simple type-1 font manipulation programs.
  356.   Together, they allow you to convert between PFA (ASCII) and PFB
  357.   (binary) formats, disassemble PFA or PFB files into human-readable
  358.   form, reassemble them into PFA or PFB format.  Additionally you can
  359.   extract font resources from a Macintosh font file (ATM/Laserwriter).
  360.  
  361. -- END OF PART VIII --
  362. Xref: bloom-picayune.mit.edu comp.fonts:5966 news.answers:3313
  363. Path: bloom-picayune.mit.edu!snorkelwacker.mit.edu!news.media.mit.edu!micro-heart-of-gold.mit.edu!wupost!spool.mu.edu!caen!nic.umass.edu!dime!dime.cs.umass.edu!walsh
  364. From: walsh@cs.umass.edu (Norman Walsh)
  365. Newsgroups: comp.fonts,news.answers
  366. Subject: comp.fonts FAQ: part 1 of 5
  367. Summary: This posting answers frequently asked questions about fonts.
  368.          It addresses both general font questions and questions that
  369.      are specific to a particular platform.
  370. Message-ID: <WALSH.92Oct2140516@ibis.cs.umass.edu>
  371. Date: 2 Oct 92 18:05:16 GMT
  372. Expires: 6 Nov 92 00:00:00 GMT
  373. Sender: news@dime.cs.umass.edu
  374. Reply-To: walsh@cs.umass.edu (Norm Walsh)
  375. Followup-To: poster
  376. Organization: Dept of Comp and Info Sci, Univ of Mass (Amherst)
  377. Lines: 1005
  378. Approved: news-answers-request@MIT.Edu
  379.  
  380. Archive-name: fonts-faq/part1
  381. Version: 1.0.0
  382.  
  383. --- [cut here] --- FAQ for comp.fonts: section 1, part 1 of 2 ---
  384. FAQ for comp.fonts: Part I: General Info
  385.  
  386. Version 1.0.0, Release 02OCT92
  387.  
  388. Welcome to the comp.fonts FAQ.  This article, posted monthly, describes many
  389. of the basic questions that seem to be repeated frequently on comp.fonts.
  390. Your comments are both welcome and encouraged.
  391.  
  392. The FAQ is divided into sections.  The first section is a general overview.
  393. The remaining sections are more-or-less platform specific.  The FAQ is posted
  394. in pieces to avoid clobbering news and/or mail gateways that are incapable
  395. of handling arbitrarily large items.
  396.  
  397. The sections are:
  398.  
  399.    Part    I: General Info
  400.    Part   II: Macintosh-specific Info
  401.    Part  III: MS-DOS-specific Info
  402.    Part   IV: *nix-specific Info
  403.    Part    V: Sun-specific Info
  404.    Part   VI: NeXT-specifc Info
  405.    Part  VII: X-specific Info
  406.    Part VIII: Font utilities
  407.  
  408. Even if you don't use a particular architecture, you may find it helpful to
  409. read the FAQ for that platform at least once.  Some ideas, like font format
  410. conversion, may be relevant to more than one platform even if they are
  411. expressed in platform-specific tools at this time.
  412.  
  413. After the FAQ is more stable, monthly DIFFs will be posted as well as the
  414. complete FAQ.
  415.  
  416. This section is divided into the following topics:
  417.  
  418. 0.  Notes about the FAQ
  419. 1.  What's the difference between type 1 fonts, type 3 fonts, type 5 fonts,
  420.     Macintosh fonts, Windows fonts, TrueType fonts, LaserJet fonts, etc.
  421. 2.  Where can I get <> fonts.
  422. 3.  Where can I get fonts for non-Roman alphabets.
  423. 4.  How can I convert my <> font to <> format?
  424. 5.  Are fonts copyrightable?
  425. 6.  File Formats / Font Formats / Ligatures / Standard Fonts / Glossary
  426. 7.  Bibliography / Other Resources
  427. 8.  Rules of Thumb
  428. 9.  Acknowledgements
  429. 10. A brief introduction to typography
  430.  
  431. ------------------------------------------------------------------------------
  432.  
  433. 0. Notes about the FAQ.
  434.  
  435.    Words printed in single quotes 'like this' will someday appear in the
  436.    glossary.  The glossary doesn't contain very much right now.  This
  437.    convention isn't followed very thoroughly at present.  If you notice
  438.    something that should be marked or something you feel should be in the
  439.    glossary, please let us know.
  440.  
  441.    All trademarks are the trademarks of their respective owners.
  442.  
  443.    Standard disclaimers apply.
  444.  
  445.    The FAQ is maintained by Norm Walsh <walsh@cs.umass.edu> and
  446.    Bharathi Jagadeesh <bjag@nwu.edu>.
  447.  
  448. 1. What's the difference between type 1 fonts, type 3 fonts, type 5 fonts,
  449.    Macintosh fonts, Windows fonts, LaserJet fonts, etc.
  450.  
  451.    This question is not trivial to answer.  It's analogous to asking
  452.    what the difference is between various graphics image file formats.
  453.    The short, somewhat pragmatic answer, is simply that they are
  454.    different ways of representing the same "information" and some of
  455.    them will work with your software/printer and others won't.
  456.  
  457.    At one level, there are two major sorts of fonts: bitmapped and outline
  458.    (scalable).  Bitmapped fonts are falling out of fashion as various
  459.    outline technologies grow in popularity and support.
  460.  
  461.    Bitmapped fonts represent each character as a rectangular grid of pixels.
  462.    The bitmap for each character indicates precisely what pixels should be
  463.    on and off.  Printing a bitmapped character is simply a matter of
  464.    blasting the right bits out to the printer.  There are a number of
  465.    disadvantages to this approach.  The bitmap represents a particular
  466.    instance of the character at a particular size and resolution.  It is
  467.    very difficult to change the size, shape, or resolution of a bitmapped
  468.    character without significant loss of quality in the image.  On the other
  469.    hand, it's easy to do things like shading and filling with bitmapped
  470.    characters.
  471.  
  472.    Outline fonts represent each character mathematically as a series of
  473.    lines, curves, and 'hints'.  When a character from an outline font is to
  474.    be printed, it must be 'rasterized' into a bitmap "on the fly".
  475.    PostScript printers, for example, do this in the print engine.  If the
  476.    "engine" in the output device cannot do the rasterizing, some front end
  477.    has to do it first.  GhostScript, for example, rasterizes the page before
  478.    it displays it on the screen.  Many of the disadvantages that are
  479.    inherent in the bitmapped format are not present in outline fonts at all.
  480.    Because an outline font is represented mathematically, it can be drawn at
  481.    any reasonable size without significant loss of quality (at least, the
  482.    loss of quality is not a direct consequence of resizing it--any font
  483.    printed at a small enough size shows a significant loss of quality as the
  484.    size approaches the resolution of the device).  Additionally, because it
  485.    is rasterized "on demand," the font can be adjusted for different
  486.    resolutions and 'aspect ratios'.
  487.  
  488.    LaserJet .SFP and .SFL files, TeX PK, PXL, and GF files, Macintosh
  489.    Screen Fonts, and GEM .GFX files are all examples of bitmapped font
  490.    formats.
  491.  
  492.    PostScript Type 1, Type 3, and Type 5 fonts, Nimbus Q fonts, TrueType
  493.    fonts, and LaserJet .SFS files are all examples of outline font formats.
  494.  
  495.    Neither of these lists is even close to being exhaustive.
  496.  
  497.    To complicate the issue further, identical formats on different platforms
  498.    are not necessarily the same.  For example Type 1 fonts on the Macintosh
  499.    are not directly usable under MS-DOS or Unix, and vice-versa.
  500.  
  501.    Henry Schneiker <reachable electronically?> created the following
  502.    description of the differences between several scalable font
  503.    technologies.
  504.  
  505.    It has been pointed out that the following description shows signs
  506.    of its age (for example, the eexec encryption has been thoroughly
  507.    hacked).  I don't dispute the observation and I encourage anyone
  508.    with the knowledge and time to submit a more up to date description.
  509.  
  510.    It has further been suggested that this commentary is biased toward
  511.    Kingsley/ATF.  The omission of details about Bitstream (and possibly
  512.    Bauer) may be considered serious since their software lies inside many
  513.    3rd-party PostScript interpreters.
  514.  
  515.    The moderators of this FAQ would gladly accept other descriptions/
  516.    explanations/viewpoints on the issues discussed in this (and every
  517.    other) section.
  518.  
  519.    *-[Quote]-----------------------------------------------------------*
  520.  
  521.    There has been a lot of confusion about font technologies in recent
  522.    times, especially when it comes to Type 1 versus Type 3 fonts,
  523.    "hints," PostScript compatibility, encryption, character
  524.    regularizing, kerning, and the like.
  525.  
  526.    Encryption (eexec)
  527.  
  528.    All fonts produced with Adobe's font technology are protected through
  529.    data encryption. The decryption is provided by the `eexec' (encrypted
  530.    execute) PostScript operator and, until recently, was only present in
  531.    Adobe's licensed PostScript. Recently, RIPS reverse-engineered the
  532.    eexec operator and now provides it to its licensees. Other clone
  533.    vendors are sure to follow.
  534.  
  535.    It is important to note that the eexec operator can be used to
  536.    decrypt and execute any valid PostScript statement. Therefore, any
  537.    PostScript program or program fragment may be encrypted so it will
  538.    work with eexec operator.
  539.  
  540.    You will further note that eexec is not tied to fonts in any way.
  541.    While eexec is mostly used to protect font data, it can be used to
  542.    protect any PostScript code. It just so happens that Adobe's favorite
  543.    thing to protect is font data. The eexec operator is also used to
  544.    hide the methods for applying patches to the PostScript system and
  545.    methods for gaining privileged access to protected procedures.
  546.  
  547.    There is no gain in speed by encryption. In fact, there is a slight
  548.    speed penalty resulting from decryption. The encrypted data is also
  549.    twice as big as unencrypted data. This is compensated for in Adobe
  550.    fonts by storing the hexadecimal characters (cipher text) as binary
  551.    on the host disk.
  552.  
  553.    Type 1, Type 3, and Type 5 font formats
  554.  
  555.    There are generally three font formats used in Adobe PostScript
  556.    printers: Type 1, Type 3, and Type 5. Type 1 fonts are Adobe's
  557.    downloadable format. Type 3 fonts are third-party downloadable
  558.    format. Type 5 fonts are the ROM-based fonts that are part of your
  559.    printer.
  560.  
  561.    There is no functional difference between a Type 1, Type 3, or Type 5
  562.    font. A Type 3 font can do anything a Type 1 or Type 5 font can do.
  563.    The only real difference between them is where the `BuildChar'
  564.    routine comes from. For Type 1 and Type 5 fonts it's built into the
  565.    printer. For Type 3 fonts it's built into the font. In other words,
  566.    anything a Type 1 font can do a Type 3 font can also do.
  567.  
  568.    When PostScript is asked to generate a character, PostScript looks in
  569.    the font's dictionary for FontType. If FontType is 1 or 5 PostScript
  570.    executes an internal routine that knows how to interpret the font
  571.    data stored in CharStrings. If FontType is 3 PostScript executes the
  572.    routine BuildChar from the font's dictionary to interpret the font
  573.    data (often stored in CharStrings).
  574.  
  575.    However, each BuildChar routine is written to read data formatted in
  576.    a method convenient to the vendor. Adobe, Altsys, Bitstream, and
  577.    Kingsley/ATF all format their font data differently and, hence, have
  578.    different BuildChar routines.
  579.  
  580.    The font data for Adobe's Type 1 font format is a binary
  581.    representation of the outline font data. Kingsley/ATF also uses a
  582.    binary representation of its Type 3 outline font data and stores the
  583.    binary code as binary on the host disk. Both company's binary
  584.    representation and store technique substantially reduces the storage
  585.    requirements on the host and in the printer.
  586.  
  587.    Other vendors, such as Altsys and Bitstream, also use a binary
  588.    encoding system for their Type 3 outline font data. However the data
  589.    is stored on the host as hexadecimal text characters and requires
  590.    about double the storage as the binary storage technique. It should
  591.    be noted that a compact text encoding (an alternate Altsys format)
  592.    requires two to three times as much storage space as the binary
  593.    storage technique.
  594.  
  595.    Type 5 fonts are special in that they often include hand-tuned
  596.    bitmaps for the commonly used sizes, such as 10- and 12-point. Other
  597.    sizes are generated from the outlines in normal fashion.
  598.  
  599.    Type 3 fonts can also be used to implement other font outline
  600.    systems, such as Sun's F3 and Apple's B-spline. Type 1 and Type 5
  601.    fonts can only be used with the Adobe font format.
  602.  
  603.    Also, don't confuse Type 1, Type 3, and Type 5 fonts with Bitstream's
  604.    Type A, Type B, Type C, and Type F. They are not the same and serve
  605.    only to confuse the issue.
  606.  
  607.    Resolution `hints'
  608.  
  609.    When a character is described in outline format the outline has
  610.    unlimited resolution. If you make it ten times as big, it is just as
  611.    accurate as if it were ten times as small.
  612.  
  613.    However, to be of use, we must transfer the character outline to a
  614.    sheet of paper through a device called a raster image processor
  615.    (RIP). The RIP builds the image of the character out of lots of
  616.    little squares called picture elements (pixels).
  617.  
  618.    The problem is, a pixel has physical size and can be printed only as
  619.    either black or white. Look at a sheet of graph paper. Rows and
  620.    columns of little squares (think: pixels). Draw a large `O' in the
  621.    middle of the graph paper. Darken in all the squares touched by the
  622.    O. Do the darkened squares form a letter that looks like the O you
  623.    drew? This is the problem with low resolution (300 dpi). Which pixels
  624.    do you turn on and which do you leave off to most accurately
  625.    reproduce the character?
  626.  
  627.    All methods of hinting strive to fit (map) the outline of a character
  628.    onto the pixel grid and produce the most pleasing/recognizable
  629.    character no matter how coarse the grid is.
  630.  
  631.    Adobe's hinting system relies on regularizing (equalization) and
  632.    straightening out the original character outline as much as possible
  633.    when the font is created. Unfortunately this process of modifying the
  634.    original font outlines for the sake of low resolution can badly
  635.    distort the character from its original design. These distortions are
  636.    visible when printing at high resolution. This system also places
  637.    limitations on the placement of end points in the outline, again for
  638.    the sake of the hinting system.
  639.  
  640.    The new Fontographer hinting system (a subset of Nimbus-Q) places
  641.    similar restrictions on the character outline. for instance, to make
  642.    proper use of the hints, a character must be (re)drawn with curve end
  643.    points at curve maximum/minimum X/Y extents. In order for strokes to
  644.    be equalized to the same widths, they must be (re)drawn with exactly
  645.    the same widths. Again, the shape of the character is ruled by the
  646.    limitations of the hinting system.
  647.  
  648.    The hinting system used by Kingsley/ATF in ATF Type Designer I* is
  649.    fundamentally different. It does not require special placement of
  650.    curve and end points in order to function. It also does not require
  651.    modification of the original font outline to aid in grid fitting or
  652.    stroke equalization. Once the outline has been created to the
  653.    artist's satisfaction the hints for stroke equalization and grid
  654.    fitting are added without any modification to the character outline.
  655.    The net effect is that the Kingsley/ATF system does not sacrifice
  656.    high-resolution quality while achieving low-resolution quality.
  657.